package com.qys.livesMall.anchor.model.vo.lives.sys;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author Admin
 */
@Data
@Schema(name = "SysLiveRoomVO", description = "直播间vo")
public class SysLiveRoomVO {

    @JsonSerialize(using = ToStringSerializer.class)
    @Schema(description = "直播间场次ID")
    private Long id;

    @JsonSerialize(using = ToStringSerializer.class)
    @Schema(description = "直播间ID")
    private Long liveRoomId;

    @Schema(description = "用户名")
    private String userName;

    @Schema(description = "昵称")
    private String nickName;

    @Schema(description = "主播名称")
    private String anchorName;

    @Schema(description = "直播场次名称")
    private String livesRoomName;

    @Schema(description = "封面")
    private String cover;

    @Schema(description = "视频地址")
    private String liveUrl;

    @Schema(description = "直播类型（0娱乐直播，1带货直播）")
    private Integer liveType;

    @Schema(description = "任务计划时长")
    private Integer plannedTime;

    @Schema(description = "实际直播时长")
    private Integer livesDuration;

    @Schema(description = "在线人数")
    private Integer onlineNumber;

    @Schema(description = "销售额")
    private BigDecimal salesAmount;

    @Schema(description = "销量")
    private Integer salesVolume;

    @Schema(description = "礼物收益（金币）")
    private BigDecimal giftIncome;

    @Schema(description = "订单数量")
    private Integer orderQuantity;

    @Schema(description = "状态(1未开播，2直播中，3已结束)")
    private Byte livesStatus;

    @Schema(description = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+0")
    private LocalDateTime updateTime;

    @Schema(description = "更新者")
    private String updateBy;

    @Schema(description = "平台结算状态（0：用户已确认，1：平台结算完成）")
    private Integer platformSettlement;

    @Schema(description = "切流状态（1开启，0关闭）")
    private String streamState;

    @Schema(description = "切流路径集合")
    private List<String> streamUrl;

    @Schema(description = "备注")
    private String remark;

}
